/*  */
$(function(){
    App.init();
    if (jQuery().datepicker) {
        $('.date-picker').datepicker({
            language:"zh-CN",
            rtl: App.isRTL(),
            autoclose: true
        });
    }
    //新增
    var $addBtn = $( '#addNewPoint' ),
        $typeAdd = $( '#typeAdd' ),
        $description = $( '#descriptionAdd' ),
        $passPoints = $( '#passPointsAdd' ),
        $postType = $( '#postTypeAdd' ),
        $basePoints = $( '#basePointsAdd' ),
        $addTB = $( '#addTable' ),
        $listTB = $( '#listTable' ),
        $setIntegelBtn = $( '.set-integel-Btn' );

    //设置积分
    $setIntegelBtn.on( 'click', function(){
        $(this).closest( 'td' ).prev( 'td' ).find( 'span.tb-val' ).hide().next( 'input.form-control' ).show();
    });

    //判断是否为空
    function isInputNull( $obj, message ){
        if( $.trim( $obj.val() ).length === 0 ){
            console.log( $obj.val() );
            $.Alert( message );
            return false;
        };
        return true;
    };
    //判断是否为数字
    function isValNan( $obj, message ){
        if( isNaN( $.trim($obj.val()) ) ){
            $.Alert( message );
            return false;
        };
        return true;
    };
    //克隆到上一个table,并生成对应input
    function addNewItem(){
        var i = 1, $tr = '<tr>';
        $tr += '<td>'+ $.trim( $typeAdd.val() ) +'</td>';
        $tr += '<td><span class="tb-val">'+ $.trim( $description.val() ) +'</span><input type="text" class="form-control hide" value="'+ $.trim( $description.val() ) +'"></td>';
        $tr += '<td><span class="tb-val">'+ $.trim( $passPoints.val() ) +'</span><input type="text" class="form-control hide" value="'+ $.trim( $passPoints.val() ) +'"></td>';
         $tr += '<td><span class="tb-val">'+ $postType.find( 'option:selected' ).text() +'</span><select id="postTypeAdd" class="form-control select2me" style="display:none;"><option value="">-请选择-</option><option value="20000000000020">网络销售主管</option><option value="10000004">展厅销售顾问</option><option value="20000000000040">网络推广专员</option></select></td>';
        $tr += '<td><span class="tb-val">'+ $.trim( $basePoints.val() ) +'</span><input type="text" class="form-control hide" value="'+ $.trim( $basePoints.val() ) +'"></td>';
        $tr += '<td><button type="button" class="tb-save btn btn-sm green" style="display:none;"><i class="icon-save"></i> 保存</button><button type="button" class="tb-edit btn btn-xs blue margin-right-10">修改</button><button type="button" class="tb-delete btn btn-xs red">删除</button></td>';
        $tr += '</tr>'
        $listTB.find( 'tbody' ).append( $tr );
    };
    //保存表格数据
    function saveItem( $obj ){
        //显示修改后的值，隐藏输入框
        $obj.find( 'span.tb-val' ).each(function( index, item ){
            var val = $.trim( $(this).siblings( 'input.form-control' ).val() ) || $.trim( $(this).siblings( 'select.form-control' ).find( 'option:selected' ).text() );
            $(this).text( val ).addClass( 'show' ).removeClass( 'hide' ).siblings( 'input.form-control' ).removeClass( 'show' ).addClass( 'hide' );
        });
        $obj.find( '.select2me, .tb-save' ).hide();
        $obj.find( 'button.tb-edit, button.tb-delete' ).show();
    };
    //点击新增
    $addBtn.on( 'click', function(){
        isInputNull( $description, '请输入项目细分描述！' ) &&
        isInputNull( $passPoints, '请输入达标率!' ) &&
        isInputNull( $postType, '请选择岗位类型!' ) &&
        isInputNull( $basePoints, '请输入奖励积分值!' ) &&
        isValNan( $passPoints, '达标率只能是数字！' ) &&
        isValNan( $basePoints, '"数值型"奖励积分值只能是数字!' ) &&
        addNewItem();
    });
    //点击修改
    $listTB.on( 'click', '.tb-edit', function(){
        //隐藏值，显示输入框
        var $curTr = $(this).closest( 'tr' );
        $curTr.find( 'span.tb-val' ).removeClass( 'show' ).addClass( 'hide' ).siblings( 'input.form-control' ).removeClass( 'hide' ).addClass( 'show' );
        $curTr.find( 'select.select2me, .tb-save' ).show();
        $curTr.find( 'button.tb-edit, button.tb-delete' ).hide();
        //重置select2
        if ( jQuery().select2 ) {
            $curTr.find('select.form-control').select2();
        };
    });
    //点击保存
    $listTB.on( 'click', '.tb-save', function(){
        var $curTr = $(this).closest( 'tr' );
        isInputNull( $curTr.find( 'input.form-control' ).eq(0), '请输入项目细分描述！' ) &&
        isInputNull( $curTr.find( 'input.form-control' ).eq(1), '请输入达标率！' ) &&
        isInputNull( $curTr.find( 'select.select2me' ), '请选择岗位类型！' ) &&
        isInputNull( $curTr.find( 'input.form-control' ).eq(2), '请输入奖励积分值！' ) &&
        isValNan( $curTr.find( 'input.form-control' ).eq(1), '达标率只能是数字！' ) &&
        isValNan( $curTr.find( 'input.form-control' ).eq(2), '"数值型"奖励积分值只能是数字！' ) &&
        saveItem( $curTr );
    });
    //点击删除
    $listTB.on( 'click', '.tb-delete', function(){
        $(this).closest( 'tr' ).remove();
    });
})